/*
 * MeuElementoFofinho.cpp
 *
 *  Created on: 11/09/2013
 *      Author: cesar
 */

#include "MeuElementoFofinho.h"
#include <string.h>
#include <cctype>
#include <iostream>
using namespace std;

bool MeuElementoFofinho::operator>(MeuElementoFofinho e) {
	int size_s1 = strlen(texto);
	int size_s2 = strlen(e.texto);

	int menorString = size_s1 < size_s2 ? size_s1 : size_s2;
	int i = 0;

	texto[i] = tolower(texto[i]);
	e.texto[i] = tolower(e.texto[i]);

	while (menorString > i) {
		int sub = texto[i] - e.texto[i];
		if (sub != 0) {
			return sub > 0;
		}
		i++;
	}

	if (menorString == size_s1) {
		return false;
	} else {
		return true;
	}
}

bool MeuElementoFofinho::operator ==(MeuElementoFofinho e) {
	int size_s1 = strlen(texto);
	int size_s2 = strlen(e.texto);

	int menorString = size_s1 < size_s2 ? size_s1 : size_s2;
	int i = 0;

	texto[i] = tolower(texto[i]);
	e.texto[i] = tolower(e.texto[i]);

	if (size_s1 != size_s2) {
		return false;
	}

	while (menorString > i) {
		int sub = texto[i] - e.texto[i];
		if (sub != 0) {
			return false;

		}
		i++;

	}
	return true;


}

MeuElementoFofinho::MeuElementoFofinho(char *s) {
	int size = strlen(s);
	texto = new char[size];
	strcpy(texto, s);

}

MeuElementoFofinho::MeuElementoFofinho(const MeuElementoFofinho &e) {
	int size = strlen(e.texto);
	texto = new char[size];
	strcpy(texto, e.texto);
}

const char* MeuElementoFofinho::ObtemElemento() {
	return texto;
}

MeuElementoFofinho::~MeuElementoFofinho() {
	delete texto;
}

